import requests
from bs4 import BeautifulSoup
from urllib import request
from urllib import parse
from http import cookiejar
import sys

cookie = ''
datas = []
name = '成景文'
num = '140010171105929'
#num = sys.argv[1]
#name = sys.argv[2]


if len(num) != 15:
    print('请输入正确的准考证号!')

else:
    '''构造链接'''
    url = 'http://www.chsi.com.cn/cet/query?'
    params = {
        'zkzh': num,
        'xm': name
    }
    link = url + parse.urlencode(params)
    '''获取cookie'''
    cookies = cookiejar.CookieJar()
    handler = request.HTTPCookieProcessor(cookies)
    opener = request.build_opener(handler)
    response = opener.open(link)
    for item in cookies:
        cookie += item.name + '=' + item.value + ';'

    headers = {
        'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36',
        'Referer': 'http://www.chsi.com.cn/cet/',
        'Cookie': cookie
    }
    '''发起请求'''
    html = requests.get(link, headers=headers).text
    try:
        '''提取数据'''
        soup = BeautifulSoup(html, 'lxml')
        content = soup.find('div', attrs={'class': 'm_cnt_m'})
        item = content.findAll("th")
        result_item = content.findAll("td")
        for i in result_item:
            datas.append(i.getText())
        '''构造输出'''
        data = '姓   名:' + datas[0].strip()+\
            '<br/>学   校: ' + datas[1].strip()+\
            '<br/>考试级别: ' + datas[2].strip()+\
            '<br/>笔 试 成 绩'+\
            '<br/>准考证号: ' + datas[3].strip()+\
            '<br/>总    分: ' + datas[4].strip()+\
            '<br/>听     力: ' + datas[6].strip()+\
            '<br/>阅     读: ' + datas[8].strip()+\
            '<br/>写作和翻译: ' + datas[10].strip()+\
            '<br/>口 语 成 绩'+\
            '<br/>准考证号: ' + datas[11].strip()+\
            '<br/>等   级: ' + datas[12].replace('\r\n ', '')
        
        print(data)
    except:
        print('无法找到对应的分数，请确认您输入的准考证号及姓名无误!')
